package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_stock_basic")
public class FStockBasic {
    @Id
    private Long tid;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 股票代码
     */
    private String symbol;

    /**
     * 股票名称
     */
    private String name;

    /**
     * 所在地域
     */
    private String area;

    /**
     * 所属行业
     */
    private String industry;

    /**
     * 股票全称
     */
    private String fullname;

    /**
     * 英文全称
     */
    private String enname;

    /**
     * 市场类型 （主板/中小板/创业板/科创板/CDR）
     */
    private String market;

    /**
     * 交易所代码
     */
    private String exchange;

    /**
     * 交易货币
     */
    @Column(name = "curr_type")
    private String currType;

    /**
     * 上市状态： L上市 D退市 P暂停上市
     */
    @Column(name = "list_status")
    private String listStatus;

    /**
     * 上市日期
     */
    @Column(name = "list_date")
    private String listDate;

    /**
     * 退市日期
     */
    @Column(name = "delist_date")
    private String delistDate;

    /**
     * 是否沪深港通标的，N否 H沪股通 S深股通
     */
    @Column(name = "is_hs")
    private String isHs;

    public FStockBasic(Long tid, String tsCode, String symbol, String name, String area, String industry, String fullname, String enname, String market, String exchange, String currType, String listStatus, String listDate, String delistDate, String isHs) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.symbol = symbol;
        this.name = name;
        this.area = area;
        this.industry = industry;
        this.fullname = fullname;
        this.enname = enname;
        this.market = market;
        this.exchange = exchange;
        this.currType = currType;
        this.listStatus = listStatus;
        this.listDate = listDate;
        this.delistDate = delistDate;
        this.isHs = isHs;
    }

    public FStockBasic() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取股票代码
     *
     * @return symbol - 股票代码
     */
    public String getSymbol() {
        return symbol;
    }

    /**
     * 设置股票代码
     *
     * @param symbol 股票代码
     */
    public void setSymbol(String symbol) {
        this.symbol = symbol;
    }

    /**
     * 获取股票名称
     *
     * @return name - 股票名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置股票名称
     *
     * @param name 股票名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取所在地域
     *
     * @return area - 所在地域
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置所在地域
     *
     * @param area 所在地域
     */
    public void setArea(String area) {
        this.area = area;
    }

    /**
     * 获取所属行业
     *
     * @return industry - 所属行业
     */
    public String getIndustry() {
        return industry;
    }

    /**
     * 设置所属行业
     *
     * @param industry 所属行业
     */
    public void setIndustry(String industry) {
        this.industry = industry;
    }

    /**
     * 获取股票全称
     *
     * @return fullname - 股票全称
     */
    public String getFullname() {
        return fullname;
    }

    /**
     * 设置股票全称
     *
     * @param fullname 股票全称
     */
    public void setFullname(String fullname) {
        this.fullname = fullname;
    }

    /**
     * 获取英文全称
     *
     * @return enname - 英文全称
     */
    public String getEnname() {
        return enname;
    }

    /**
     * 设置英文全称
     *
     * @param enname 英文全称
     */
    public void setEnname(String enname) {
        this.enname = enname;
    }

    /**
     * 获取市场类型 （主板/中小板/创业板/科创板/CDR）
     *
     * @return market - 市场类型 （主板/中小板/创业板/科创板/CDR）
     */
    public String getMarket() {
        return market;
    }

    /**
     * 设置市场类型 （主板/中小板/创业板/科创板/CDR）
     *
     * @param market 市场类型 （主板/中小板/创业板/科创板/CDR）
     */
    public void setMarket(String market) {
        this.market = market;
    }

    /**
     * 获取交易所代码
     *
     * @return exchange - 交易所代码
     */
    public String getExchange() {
        return exchange;
    }

    /**
     * 设置交易所代码
     *
     * @param exchange 交易所代码
     */
    public void setExchange(String exchange) {
        this.exchange = exchange;
    }

    /**
     * 获取交易货币
     *
     * @return curr_type - 交易货币
     */
    public String getCurrType() {
        return currType;
    }

    /**
     * 设置交易货币
     *
     * @param currType 交易货币
     */
    public void setCurrType(String currType) {
        this.currType = currType;
    }

    /**
     * 获取上市状态： L上市 D退市 P暂停上市
     *
     * @return list_status - 上市状态： L上市 D退市 P暂停上市
     */
    public String getListStatus() {
        return listStatus;
    }

    /**
     * 设置上市状态： L上市 D退市 P暂停上市
     *
     * @param listStatus 上市状态： L上市 D退市 P暂停上市
     */
    public void setListStatus(String listStatus) {
        this.listStatus = listStatus;
    }

    /**
     * 获取上市日期
     *
     * @return list_date - 上市日期
     */
    public String getListDate() {
        return listDate;
    }

    /**
     * 设置上市日期
     *
     * @param listDate 上市日期
     */
    public void setListDate(String listDate) {
        this.listDate = listDate;
    }

    /**
     * 获取退市日期
     *
     * @return delist_date - 退市日期
     */
    public String getDelistDate() {
        return delistDate;
    }

    /**
     * 设置退市日期
     *
     * @param delistDate 退市日期
     */
    public void setDelistDate(String delistDate) {
        this.delistDate = delistDate;
    }

    /**
     * 获取是否沪深港通标的，N否 H沪股通 S深股通
     *
     * @return is_hs - 是否沪深港通标的，N否 H沪股通 S深股通
     */
    public String getIsHs() {
        return isHs;
    }

    /**
     * 设置是否沪深港通标的，N否 H沪股通 S深股通
     *
     * @param isHs 是否沪深港通标的，N否 H沪股通 S深股通
     */
    public void setIsHs(String isHs) {
        this.isHs = isHs;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", symbol=").append(symbol);
        sb.append(", name=").append(name);
        sb.append(", area=").append(area);
        sb.append(", industry=").append(industry);
        sb.append(", fullname=").append(fullname);
        sb.append(", enname=").append(enname);
        sb.append(", market=").append(market);
        sb.append(", exchange=").append(exchange);
        sb.append(", currType=").append(currType);
        sb.append(", listStatus=").append(listStatus);
        sb.append(", listDate=").append(listDate);
        sb.append(", delistDate=").append(delistDate);
        sb.append(", isHs=").append(isHs);
        sb.append("]");
        return sb.toString();
    }
}